import request from '@/config/axios'

// 科大学生在校信息 VO
export interface UstcStudentInfoUniversityVO {
  id: number // 主键
  accountId: number // 账号ID
  inschoolFlag: string // 在校标识
  studentStatus: string // 学籍状态
  studentStatusChange: string // 学籍异动状态
  admissionSeason: string // 入学季节
  admissionTime: Date // 入学日期
  admissionType: string // 入学方式
  studentType: string // 学生类别
  eduDuration: string // 学制
  trainingLevel: string // 培养层次
  grade: string // 年级
  faculty: string // 院系
  major: string // 专业
  category: string // 门类/专业学位类别
  firstLevelSubject: string // 一级学科/专业学位类别
  professionalDirection: string // 专业方向
  trainingMethod: string // 培养方式
  learnMethod: string // 学习方式
  specialPlan: string // 专项计划
  elecAcademicRegNote: string // 电子学历注册说明
  classroom: string // 班级
  primaryMentor: string // 主导师
  secondaryMentor: string // 辅导师
  residenceCampus: string // 住宿校区
  dormAddress: string // 宿舍地址
  basicPeriod: Date // 基本年限
  longestPeriod: Date // 最长学习年限
  registerStatus: string // 注册状态
  fundingPeriod: Date // 资助年限
  defenseDate: Date // 答辩日期
  leaveDate: Date // 离校日期
  graduationConclusion: string // 毕(结)业结论
  graduationDate: Date // 毕(结)业时间
  graduationNumber: string // 毕(结)业证号
  degreeType: string // 学位类型
  degree: string // 学位
  degreeDate: Date // 学位日期
  phdInResearch: string // 是否科研博士
  transferYear: string // 几年转博
  destinationType: string // 去向类型
  destinationUnit: string // 去向单位
  archiveAddress: string // 档案地址
  archiveContact: string // 档案联系人
  archiveTelephone: string // 档案联系电话
  confirmLeave: string // 确认离校
  remark: string // 备注
}

export interface UstcStudentInfoUniversitySelectRespVO {
  grade: string[] // 年级
  trainingLevel: string[] // 培养层次
  studentType: string[] // 学生类别
  major: string[] // 专业
  classroom: string[] // 班级
  trainingMethod: string[] // 培养方式
  studentStatus: string[] // 学籍状态
  studentStatusChange: string[] // 学籍异动状态
  inschoolFlag: string[] // 在校标识
}

// 科大学生在校信息 API
export const UstcStudentInfoUniversityApi = {
  // 查询科大学生在校信息分页
  getStudentInfoUniversityPage: async (params: any) => {
    return await request.get({ url: `/core/ustc-student-info-university/page`, params })
  },

  // 查询科大学生在校信息详情
  getStudentInfoUniversity: async (id: number) => {
    return await request.get({ url: `/core/ustc-student-info-university/get?id=` + id })
  },

  // 新增科大学生在校信息
  createStudentInfoUniversity: async (data: UstcStudentInfoUniversityVO) => {
    return await request.post({ url: `/core/ustc-student-info-university/create`, data })
  },

  // 修改科大学生在校信息
  updateStudentInfoUniversity: async (data: UstcStudentInfoUniversityVO) => {
    return await request.put({ url: `/core/ustc-student-info-university/update`, data })
  },

  // 删除科大学生在校信息
  deleteStudentInfoUniversity: async (id: number) => {
    return await request.delete({ url: `/core/ustc-student-info-university/delete?id=` + id })
  },

  // 导出科大学生在校信息 Excel
  exportStudentInfoUniversity: async (params) => {
    return await request.download({
      url: `/core/ustc-student-info-university/export-excel`,
      params
    })
  },

  // 获得科大学生在校信息相关筛选下拉
  getStudentInfoUniversitySelect: async () => {
    return await request.get({ url: '/core/ustc-student-info-university/get-select' })
  }
}
